/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package evaluate.curriculum;

import system.general.Exc;
import system.general.Logged;
import system.general.Persistencia;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

/**
 *
 * @author gilberto-CIDITIC
 */
@ManagedBean(name = "curriculum_evaluation_questions")
@ViewScoped
public class Respuestas {

    Logged logged;
    public String preguntaOpc[] = new String[21];
    public String preguntaObs[] = new String[21];
    private Persistencia persistencia = new Persistencia();
    private String sql = "";
    private int id_solicitud = 0;

    public Respuestas() {
    }

    private void load() {
        try {
            clear();
            ResultSet rsts;
            List respuestas = new LinkedList();
            sql = "select case when idl_pregunta < 10 then '0'|| idl_pregunta ELSE '' || idl_pregunta END AS codigo, idl_pregunta, idl_respuesta from public.v_curriculum_detalle where id_solicitud="
                    + 3 + " ORDER BY idl_pregunta, idl_respuesta ";

            rsts = persistencia.executeRsts(sql);
            int temp = 0;
            while (rsts.next()) {
                int pregunta = rsts.getInt("idl_pregunta");
                int respuesta = rsts.getInt("idl_respuesta");
                String observacio = rsts.getString("observacion");
                String codigo = rsts.getString("codigo");
                String valor = codigo + String.valueOf(respuesta);
                if (temp != pregunta && temp != 0) {
                    this.preguntaOpc[pregunta] = respuestas.toString();
                    respuestas.clear();
                }
                respuestas.add(valor);
                temp = pregunta;
            }
            persistencia.dbDisconnect();
        } catch (SQLException ex) {
        } catch (Exception ex) {
        }
    }

    private List cargarRespuestas(int id_pregunta) throws Exc, SQLException, Exception {
        ResultSet rsts;
        List respuestas = new LinkedList();
        sql = "select case when idl_pregunta < 10 then '0' || idl_pregunta ELSE '' || idl_pregunta END AS codigo, idl_pregunta, idl_respuesta "
                + "from public.v_curriculum_detalle where id_solicitud="
                + this.id_solicitud + " AND idl_pregunta = " + id_pregunta + " ORDER BY idl_pregunta, idl_respuesta ";

        rsts = persistencia.executeRsts(sql);
        while (rsts.next()) {
            String pregunta = rsts.getString("codigo");
            int respuesta = rsts.getInt("idl_respuesta");
            String valor = pregunta + String.valueOf(respuesta);
            respuestas.add(valor);
        }
        persistencia.dbDisconnect();
        return respuestas;
    }

    public void cargarTodasRespuestas(int id_solicitud) throws Exc, SQLException, Exception {
        this.id_solicitud = id_solicitud;
        for (int i = 1; i < this.preguntaOpc.length; i++) {
            this.preguntaOpc[i] = this.cargarRespuestas(i).toString();
        }
    }

    public void clear() {
        for (int i = 1; i < this.preguntaOpc.length; i++) {
            this.preguntaOpc[i] = "";
        }
        for (int i = 1; i < this.preguntaObs.length; i++) {
            this.preguntaObs[i] = "";
        }
    }

    // Pregunta 1
    public void setPregunta1Opc(String dato) {
        preguntaOpc[1] = dato;
    }

    public String getPregunta1Opc() {
        return preguntaOpc[1];
    }

    public void setPregunta1Obs(String dato) {
        preguntaObs[1] = dato;
    }

    public String getPregunta1Obs() {
        return preguntaObs[1];
    }

    //Pregunta 2
    public void setPregunta2Opc(String dato) {
        preguntaOpc[2] = dato;
    }

    public String getPregunta2Opc() {
        return preguntaOpc[2];
    }

    public void setPregunta2Obs(String dato) {
        preguntaObs[2] = dato;
    }

    public String getPregunta2Obs() {
        return preguntaObs[2];
    }

    //Pregunta 3
    public void setPregunta3Opc(String dato) {
        preguntaOpc[3] = dato;
    }

    public String getPregunta3Opc() {
        return preguntaOpc[3];
    }

    public void setPregunta3Obs(String dato) {
        preguntaObs[3] = dato;
    }

    public String getPregunta3Obs() {
        return preguntaObs[3];
    }

    //Pregunta 4
    public void setPregunta4Opc(String dato) {
        preguntaOpc[4] = dato;
    }

    public String getPregunta4Opc() {
        return preguntaOpc[4];
    }

    public void setPregunta4Obs(String dato) {
        preguntaObs[4] = dato;
    }

    public String getPregunta4Obs() {
        return preguntaObs[4];
    }

    //Pregunta 5
    public void setPregunta5Opc(String dato) {
        preguntaOpc[2] = dato;
    }

    public String getPregunta5Opc() {
        return preguntaOpc[5];
    }

    public void setPregunta5Obs(String dato) {
        preguntaObs[5] = dato;
    }

    public String getPregunta5Obs() {
        return preguntaObs[5];
    }

    //Pregunta 6
    public void setPregunta6Opc(String dato) {
        preguntaOpc[6] = dato;
    }

    public String getPregunta6Opc() {
        return preguntaOpc[6];
    }

    public void setPregunta6Obs(String dato) {
        preguntaObs[6] = dato;
    }

    public String getPregunta6Obs() {
        return preguntaObs[6];
    }

    //Pregunta 7
    public void setPregunta7Opc(String dato) {
        preguntaOpc[7] = dato;
    }

    public String getPregunta7Opc() {
        return preguntaOpc[7];
    }

    public void setPregunta7Obs(String dato) {
        preguntaObs[7] = dato;
    }

    public String getPregunta7Obs() {
        return preguntaObs[7];
    }

    //Pregunta 8
    public void setPregunta8Opc(String dato) {
        preguntaOpc[8] = dato;
    }

    public String getPregunta8Opc() {
        return preguntaOpc[8];
    }

    public void setPregunta8Obs(String dato) {
        preguntaObs[8] = dato;
    }

    public String getPregunta8Obs() {
        return preguntaObs[8];
    }

    //Pregunta 8
    public void setPregunta9Opc(String dato) {
        preguntaOpc[9] = dato;
    }

    public String getPregunta9Opc() {
        return preguntaOpc[9];
    }

    public void setPregunta9Obs(String dato) {
        preguntaObs[9] = dato;
    }

    public String getPregunta9Obs() {
        return preguntaObs[9];
    }

    //Pregunta 10
    public void setPregunta10Opc(String dato) {
        preguntaOpc[10] = dato;
    }

    public String getPregunta10Opc() {
        return preguntaOpc[10];
    }

    public void setPregunta10Obs(String dato) {
        preguntaObs[10] = dato;
    }

    public String getPregunta10Obs() {
        return preguntaObs[10];
    }

    //Pregunta 11
    public void setPregunta11Opc(String dato) {
        preguntaOpc[11] = dato;
    }

    public String getPregunta11Opc() {
        return preguntaOpc[11];
    }

    public void setPregunta11Obs(String dato) {
        preguntaObs[11] = dato;
    }

    public String getPregunta11Obs() {
        return preguntaObs[11];
    }
    //Pregunta 12

    public void setPregunta12Opc(String dato) {
        preguntaOpc[12] = dato;
    }

    public String getPregunta12Opc() {
        return preguntaOpc[12];
    }

    public void setPregunta12Obs(String dato) {
        preguntaObs[12] = dato;
    }

    public String getPregunta12Obs() {
        return preguntaObs[12];
    }

    //Pregunta 13
    public void setPregunta13Opc(String dato) {
        preguntaOpc[13] = dato;
    }

    public String getPregunta13Opc() {
        return preguntaOpc[13];
    }

    public void setPregunta13Obs(String dato) {
        preguntaObs[13] = dato;
    }

    public String getPregunta13Obs() {
        return preguntaObs[13];
    }

    //Pregunta 14
    public void setPregunta14Opc(String dato) {
        preguntaOpc[14] = dato;
    }

    public String getPregunta14Opc() {
        return preguntaOpc[14];
    }

    public void setPregunta14Obs(String dato) {
        preguntaObs[14] = dato;
    }

    public String getPregunta14Obs() {
        return preguntaObs[14];
    }
    //Pregunta 15

    public void setPregunta15Opc(String dato) {
        preguntaOpc[15] = dato;
    }

    public String getPregunta15Opc() {
        return preguntaOpc[15];
    }

    public void setPregunta15Obs(String dato) {
        preguntaObs[15] = dato;
    }

    public String getPregunta15Obs() {
        return preguntaObs[15];
    }

    //Pregunta 14
    public void setPregunta16Opc(String dato) {
        preguntaOpc[16] = dato;
    }

    public String getPregunta16Opc() {
        return preguntaOpc[16];
    }

    public void setPregunta16Obs(String dato) {
        preguntaObs[16] = dato;
    }

    public String getPregunta16Obs() {
        return preguntaObs[16];
    }

    //Pregunta 17
    public void setPregunta17Opc(String dato) {
        preguntaOpc[17] = dato;
    }

    public String getPregunta17Opc() {
        return preguntaOpc[17];
    }

    public void setPregunta17Obs(String dato) {
        preguntaObs[17] = dato;
    }

    public String getPregunta17Obs() {
        return preguntaObs[17];
    }

    //Pregunta 18
    public void setPregunta18Opc(String dato) {
        preguntaOpc[18] = dato;
    }

    public String getPregunta18Opc() {
        return preguntaOpc[18];
    }

    public void setPregunta18Obs(String dato) {
        preguntaObs[18] = dato;
    }

    public String getPregunta18Obs() {
        return preguntaObs[18];
    }

    //Pregunta 19
    public void setPregunta19Opc(String dato) {
        preguntaOpc[14] = dato;
    }

    public String getPregunta19Opc() {
        return preguntaOpc[19];
    }

    public void setPregunta19Obs(String dato) {
        preguntaObs[19] = dato;
    }

    public String getPregunta19Obs() {
        return preguntaObs[19];
    }

    //Pregunta 20
    public void setPregunta20Opc(String dato) {
        preguntaOpc[20] = dato;
    }

    public String getPregunta20Opc() {
        return preguntaOpc[20];
    }

    public void setPregunta20Obs(String dato) {
        preguntaObs[20] = dato;
    }

    public String getPregunta20Obs() {
        return preguntaObs[20];
    }
}
